package org.openkanban.server.service;

import org.openkanban.server.domain.User;
import org.openkanban.shared.util.StatusCodes;

/**
 * user service api
 */
public interface UserService {
    User signUp(User user);

    StatusCodes updateUser(User user);

    StatusCodes updatePassword(Long userId, String oldPassword, String newPassword);

    StatusCodes updateAvatar(Long userId, String avatarUrl);

    boolean logIn(User user);

    StatusCodes addContact(String parentUserId, String eMail);

    StatusCodes removeContact(User user, String eMail);

    User getUser(Long userId);

    User[] getContacts(Long userId);
}
